/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package biblioteca;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import java.util.Date;
import javax.swing.JFormattedTextField;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.TableModel;

/**
 *
 * @author Cassio
 */
public class Dados {

    static String ip = "localhost";
    static String porta = "3306";
    static String login;
    static String senha;
    static String login_local;
    static String senha_local;
    static String banco = "biblioteca";
    static String url = "jdbc:mysql://" + ip + ":" + porta + "/" + banco;
    static Connection con;
    Statement stmp;

        public void ConexãoLocal() throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/biblioteca", login_local, senha_local);
        stmp = con.createStatement();
    }
    
    public void Conexão() throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection(url, login, senha);
        stmp = con.createStatement();
    }

    public boolean Login(String login, String senha) {

        try {
            this.login_local = login;
            this.senha_local = senha;
            return AlterarConexao();
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar conectar ao MySQL.\n" + ex.getMessage());
            return false;
        }
    }

    public boolean VerificarConexao() throws Exception {

        try {
            Conexão();
            return con.isValid(30);

        } catch (SQLException ex) {
            return false;
        }
    }

    public boolean AlterarConexao() throws Exception {

        try {
            ConexãoLocal();

            String comando = "SELECT ip, porta, login, senha, banco FROM mysqlconfig";
            ResultSet rs = stmp.executeQuery(comando);
            if (rs.first()) {
                ip = rs.getString("ip");
                porta = rs.getString("porta");
                login = rs.getString("login");
                senha = rs.getString("senha");
                banco = rs.getString("banco");
                this.url = "jdbc:mysql://" + ip + ":" + porta + "/" + banco;
                
            }
            return true;

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
            return false;
        }
    }

    public boolean InserirConfiguracaoMysql(String ip, String porta, String login, String senha, String banco) throws Exception {

        try {
            String comando;
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://" + ip + ":" + porta + "/" + banco, login, senha);
                
            ConexãoLocal();
            comando = "UPDATE mysqlconfig SET ip = '"+ip+"', porta = '" +porta+"', login = '" +login+"', senha = '" +senha+"', banco = '" +banco+"'";
            stmp.executeUpdate(comando);
            
            this.ip = ip;
            this.porta = porta;
            this.login = login;
            this.senha = senha;
            this.banco = banco;
            this.url = "jdbc:mysql://"+ip+":"+porta+"/"+banco;
            

                JOptionPane.showMessageDialog(null, "Configurações salvas com sucesso.");
                return true;

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
            return false;
        }
    }
    
    public void CriarBanco(String login, String senha, String porta) throws Exception
    {
        String comando;
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:" + porta, login, senha);
        stmp = con.createStatement();
        comando = "create database bibliotecaa;";
        stmp.executeUpdate(comando);
        comando = "use bibliotecaa;";
        stmp.executeUpdate(comando);
        comando =
                "create table autor( " +
                "cod_autor int auto_increment primary key, " +
                "nome varchar (30) not null); " +
                "create table editora( " +
                "cod_editora int primary key auto_increment, " +
                "nome varchar (20) not null); " +
                "create table livro( " +
                "isbn varchar(13) primary key, " +
                "titulo varchar(40) not null, " +
                "quantidade int not null, " +
                "ano_lancamento int, " +
                "cod_editora int not null, " +
                "cod_autor int not null, " +
                "foreign key(cod_editora) references editora(cod_editora), " +
                "foreign key(cod_autor) references autor(cod_autor) " +
                "); " +
                "create table cliente( " +
                "cod_cliente int primary key auto_increment, " +
                "nome varchar(50) not null, " +
                "data_nascimento varchar(10) not null, " +
                "cpf varchar(11) not null, " +
                "telefone varchar(8), " +
                "email varchar(30), " +
                "data_cadastro varchar(10) not null, " +
                "uf varchar(2) not null, " +
                "cidade varchar(20) not null, " +
                "bairro varchar(20) not null, " +
                "rua varchar(20) not null, " +
                "numero varchar(4) not null, " +
                "cep varchar(8), " +
                "complemento varchar(20) " +
                "); " +
                "create table aluguel( " +
                "cod_aluguel int auto_increment, " +
                "isbn varchar(13), " +
                "cod_cliente int, " +
                "dt_entrega varchar(10) not null, " +
                "dt_locacao varchar(10) not null, " +
                "multa float not null, " +
                "primary key(cod_aluguel, isbn, cod_cliente), " +
                "foreign key(cod_cliente) references cliente(cod_cliente), " +
                "foreign key(isbn) references livro(isbn) " +
                "); " +
                "create table mysqlconfig( " +
                "ip varchar(30), " +
                "porta varchar(5), " +
                "login varchar(20), " +
                "senha varchar(20), " +
                "banco varchar(20)); " +
                "insert into mysqlconfig values ('','','','','');";
        
        stmp.executeUpdate(comando);
    }

    public void InserirAutor(String Nome) throws Exception {

        try {
            Conexão();
            String comando = "insert into autor (nome) values ('" + Nome + "')";
            stmp.executeUpdate(comando);
            JOptionPane.showMessageDialog(null, Nome + " adicionado com sucesso.");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar Gravar o registro...");
            System.exit(1);
        }
    }

    public void InserirEditora(String Nome) throws Exception {

        try {
            Conexão();
            String comando = "insert into editora (nome) values ('" + Nome + "')";
            stmp.executeUpdate(comando);
            JOptionPane.showMessageDialog(null, Nome + " adicionado com sucesso.");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar Gravar o registro...");
        }
    }

    public void InserirLivro(String isbn, String titulo, int quantidade, int ano_lancamento, String nomeEditora, String nomeAutor) throws Exception {

        int cod_editora = 0;
        int cod_autor = 0;
        String comando;
        ResultSet rs;

        try {
            Conexão();
            comando = "SELECT cod_editora FROM editora WHERE nome = '" + nomeEditora + "'";
            rs = stmp.executeQuery(comando);
            if (rs.first()) {
                cod_editora = rs.getInt("cod_editora");
            }

            comando = "SELECT cod_autor FROM autor WHERE nome = '" + nomeAutor + "'";
            rs = stmp.executeQuery(comando);
            if (rs.first()) {
                cod_autor = rs.getInt("cod_autor");
            }

            comando = "INSERT INTO livro VALUES ('" + isbn + "', '" + titulo + "', " + quantidade + ", " + ano_lancamento + ", " + cod_editora + ", " + cod_autor + ")";
            stmp.executeUpdate(comando);
            JOptionPane.showMessageDialog(null, titulo + " adicionado com sucesso.");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar Gravar o registro...");
        }
    }

    public void CadastrarCliente(String Nome, String CPF, String tel, String Email, String UF, String Cidade, String Bairro, String Rua, String numero, String CEP, String Complemento, String dia, String mes, String ano) throws Exception {
        String comando;
        String DtNascimento = dia + "/" + mes + "/" + ano;
        Date dataAtual = new Date();
        SimpleDateFormat formatarDate = new SimpleDateFormat("dd/MM/yyyy");
        String DtCadastro = (formatarDate.format(dataAtual).toString());
        try {
            Conexão();
            comando = "INSERT INTO cliente(nome,data_nascimento,cpf,telefone,email,data_cadastro,uf,cidade,bairro,rua,numero,cep,complemento) VALUES ('" + Nome + "','" + DtNascimento + "','" + CPF + "','" + tel + "','" + Email + "','" + DtCadastro + "','" + UF + "','" + Cidade + "','" + Bairro + "','" + Rua + "','" + numero + "','" + CEP + "','" + Complemento + "')";
            stmp.executeUpdate(comando);
            JOptionPane.showMessageDialog(null, Nome + " adicionado com sucesso.");

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar Gravar o registro...");
        }
    }

    public void ConsultaLivro(String titulo, JTextField quant, JTextField isbn, JTextField ano_lancamento, JTextField editora, JTextField autor) throws Exception {
        String comando;
        String isbn2 = "";
        String ano = "";
        String quantidade = "";
        String editora2 = "";
        String autor2 = "";
        try {
            Conexão();
            comando = "SELECT isbn, ano_lancamento, quantidade FROM livro where titulo = '" + titulo + "'";
            ResultSet rs = stmp.executeQuery(comando);
            if (rs.first()) {
                isbn2 = rs.getString("isbn");
                ano = rs.getString("ano_lancamento");
                quantidade = rs.getString("quantidade");
            }
            comando = "SELECT a.nome as nome, e.nome as nome from autor a, editora e, livro l where a.cod_autor = l.cod_autor AND e.cod_editora = l.cod_editora AND l.titulo = '" + titulo + "'";
            rs = stmp.executeQuery(comando);
            if (rs.first()) {
                autor2 = rs.getString("a.nome");
                editora2 = rs.getString("e.nome");
            }
            isbn.setText(isbn2);
            ano_lancamento.setText(ano);
            quant.setText(quantidade);
            autor.setText(autor2);
            editora.setText(editora2);
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar consultar a tabela livro.\n" + ex.getMessage());
        }
    }

    public void ConsultaLivro2(String titulo, JTextField quant, JTextField isbn, JTextField ano_lancamento, JComboBox editora, JComboBox autor) throws Exception {
        String comando;
        String isbn2 = "";
        String ano = "";
        String quantidade = "";
        String editora2 = "";
        String autor2 = "";
        try {
            Conexão();
            comando = "SELECT isbn, ano_lancamento, quantidade FROM livro where titulo = '" + titulo + "'";
            ResultSet rs = stmp.executeQuery(comando);
            if (rs.first()) {
                isbn2 = rs.getString("isbn");
                ano = rs.getString("ano_lancamento");
                quantidade = rs.getString("quantidade");
            }
            comando = "SELECT a.nome as nome, e.nome as nome from autor a, editora e, livro l where a.cod_autor = l.cod_autor AND e.cod_editora = l.cod_editora AND l.titulo = '" + titulo + "'";
            rs = stmp.executeQuery(comando);
            if (rs.first()) {
                autor2 = rs.getString("a.nome");
                editora2 = rs.getString("e.nome");
            }
            isbn.setText(isbn2);
            ano_lancamento.setText(ano);
            quant.setText(quantidade);
            autor.setSelectedItem(autor2);
            editora.setSelectedItem(editora2);
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar consultar a tabela livro.\n" + ex.getMessage());
        }
    }

    public void ConsultaCliente(String nome, JTextField cpf, JTextField tel, JTextField email, JFormattedTextField DataNascimento, JTextField rua, JTextField complemento, JTextField cidade, JTextField bairro, JTextField cep, JTextField numero, JComboBox uf) throws Exception {
        String comando;
        String cpf2 = "";
        String tel2 = "";
        String email2 = "";
        String dia2 = "";
        String mes2 = "";
        String ano2 = "";
        String rua2 = "";
        String complemento2 = "";
        String DtNascimento = "";
        String cidade2 = "";
        String bairro2 = "";
        String cep2 = "";
        String numero2 = "";
        String uf2 = "";

        try {
            Conexão();
            comando = "SELECT data_nascimento, cpf, telefone, email, uf, cidade, bairro, rua, numero, cep, complemento FROM cliente where nome = '" + nome + "' ";
            ResultSet rs = stmp.executeQuery(comando);
            if (rs.first()) {
                cpf2 = rs.getString("cpf");
                DtNascimento = rs.getString("data_nascimento");
                tel2 = rs.getString("telefone");
                email2 = rs.getString("email");
                uf2 = rs.getString("uf");
                cidade2 = rs.getString("cidade");
                bairro2 = rs.getString("bairro");
                rua2 = rs.getString("rua");
                numero2 = rs.getString("numero");
                cep2 = rs.getString("cep");
                complemento2 = rs.getString("complemento");
            }
            DataNascimento.setText(DtNascimento);
            uf.setSelectedItem(uf2);
            cpf.setText(cpf2);
            tel.setText(tel2);
            email.setText(email2);
            cidade.setText(cidade2);
            bairro.setText(bairro2);
            rua.setText(rua2);
            numero.setText(numero2);
            cep.setText(cep2);
            complemento.setText(complemento2);

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar consultar a tabela livro.\n" + ex.getMessage());
        }
    }

    public void EditarLivro(String titulo, String isbn, int quantidade, int ano_lancamento, String nomeEditora, String nomeAutor) throws Exception {
        int cod_editora = 0;
        int cod_autor = 0;
        String comando;
        ResultSet rs;

        try {
            Conexão();
            comando = "SELECT cod_editora FROM editora WHERE nome = '" + nomeEditora + "'";
            rs = stmp.executeQuery(comando);
            if (rs.first()) {
                cod_editora = rs.getInt("cod_editora");
            }

            comando = "SELECT cod_autor FROM autor WHERE nome = '" + nomeAutor + "'";
            rs = stmp.executeQuery(comando);
            if (rs.first()) {
                cod_autor = rs.getInt("cod_autor");
            }

            comando = "UPDATE livro SET titulo = '" + titulo + "', quantidade = " + quantidade + ", ano_lancamento = " + ano_lancamento + ", cod_editora = " + cod_editora + ", cod_autor = " + cod_autor + " WHERE isbn = '" + isbn + "'";
            stmp.executeUpdate(comando);

            JOptionPane.showMessageDialog(null, "Alterações feitas com sucesso!!");

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar Gravar o registro...");
        }
    }
    
        public void AtualizarEmprestimo(int cod_aluguel) throws Exception {
        String comando;
        ResultSet rs;

        try {
            Conexão();

            comando = "UPDATE aluguel SET finalizado = 'Finalizado' WHERE cod_aluguel = " + cod_aluguel;
            stmp.executeUpdate(comando);

            JOptionPane.showMessageDialog(null, "O empréstimo foi finalizado.");

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar finalizar empréstimo");
        }
    }

    public void ConsultaLocacao(String nome, JTextField cpf, JTextField tel, JTable locacao) throws Exception {
        String comando;
        int cod_cliente = 0;
        String cpf2 = "";
        String tel2 = "";
        int i = 0;
        try {
            Conexão();
            comando = "SELECT cod_cliente FROM cliente WHERE nome = '" + nome + "'";
            ResultSet rs = stmp.executeQuery(comando);
            if (rs.first()) {
                cod_cliente = rs.getInt("cod_cliente");
            }
            comando = "SELECT c.cpf as cpf, c.telefone as telefone, l.titulo as titulo, a.dt_entrega as dt_entrega, a.dt_locacao as dt_locacao, a.multa as multa, a.finalizado as finalizado, a.cod_aluguel as cod_aluguel FROM cliente c, livro l, aluguel a WHERE c.cod_cliente = " + cod_cliente + " AND a.cod_cliente = c.cod_cliente AND l.isbn = a.isbn";
            rs = stmp.executeQuery(comando);
            if (rs.first()) {
                do {
                    ArrayList novaLinha = new ArrayList();//cria um array de objetos com a quantidade igual as colunas da table      
                    novaLinha.add(rs.getString("l.titulo"));
                    novaLinha.add(rs.getString("a.dt_locacao"));
                    novaLinha.add(rs.getString("a.dt_entrega"));
                    novaLinha.add(rs.getFloat("a.multa"));
                    novaLinha.add(rs.getString("a.finalizado"));
                    novaLinha.add(rs.getInt("a.cod_aluguel"));
                    cpf2 = rs.getString("c.cpf");
                    tel2 = rs.getString("c.telefone");
                    cpf.setText(cpf2);
                    tel.setText(tel2);
                    locacao.getModel().setValueAt(novaLinha.get(0), i, 0);
                    locacao.getModel().setValueAt(novaLinha.get(1), i, 1);
                    locacao.getModel().setValueAt(novaLinha.get(2), i, 2);
                    locacao.getModel().setValueAt(novaLinha.get(3), i, 3);
                    locacao.getModel().setValueAt(novaLinha.get(4), i, 4);
                    locacao.getModel().setValueAt(novaLinha.get(5), i, 5);
                    i++;
                } while (rs.next());
            }

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar Gravar o registro..." + ex.getMessage());
        }
    }

    public void EditarCliente(String nome, String DtNascimento, String cpf, String tel, String email, String uf, String cidade, String bairro, String rua, String numero, String cep, String complemento) throws Exception {
        String comando;
        int cod_cliente = 0;

        try {
            Conexão();
            comando = "SELECT cod_cliente FROM cliente WHERE nome = '" + nome + "'";
            ResultSet rs = stmp.executeQuery(comando);
            if (rs.first()) {
                cod_cliente = rs.getInt("cod_cliente");
            }
            comando = "UPDATE cliente SET nome = '" + nome + "', data_nascimento = '" + DtNascimento + "', cpf = '" + cpf + "', telefone = '" + tel + "', email = '" + email + "', uf = '" + uf + "', cidade = '" + cidade + "', bairro = '" + bairro + "', rua = '" + rua + "', numero = '" + numero + "', cep = '" + cep + "', complemento = '" + complemento + "' WHERE cod_cliente = " + cod_cliente + "";
            stmp.executeUpdate(comando);

            JOptionPane.showMessageDialog(null, "Alterações feitas com sucesso!!");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar Gravar o registro...");
        }
    }

    public void SelecionarNomeAutor(JComboBox cbb) throws Exception {

        try {
            Conexão();

            String comando = "SELECT nome FROM autor;";
            ResultSet rs = stmp.executeQuery(comando);
            if (rs.first()) {
                do {
                    cbb.addItem(rs.getString("nome"));
                } while (rs.next());
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar consultar a tabela autor.\n" + ex.getMessage());
            System.exit(1);
        }
    }

    public void SelecionarCliente(JComboBox cbb) throws Exception {
        try {
            Conexão();

            String comando = "SELECT nome FROM cliente;";
            ResultSet rs = stmp.executeQuery(comando);
            if (rs.first()) {
                do {
                    cbb.addItem(rs.getString("nome"));

                } while (rs.next());
            }

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar consultar a tabela cliente.\n" + ex.getMessage());
        }
    }

    public void SelecionarLivro(JComboBox cbb) throws Exception {

        try {
            Conexão();

            String comando = "SELECT titulo FROM livro;";
            ResultSet rs = stmp.executeQuery(comando);
            if (rs.first()) {
                do {
                    cbb.addItem(rs.getString("titulo"));
                } while (rs.next());
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar consultar a tabela autor.\n" + ex.getMessage());
        }
    }

    public void SelecionarNomeEditora(JComboBox cbb) throws Exception {

        try {
            Conexão();

            String comando = "SELECT nome FROM editora;";
            ResultSet rs = stmp.executeQuery(comando);
            if (rs.first()) {
                do {
                    cbb.addItem(rs.getString("nome"));
                } while (rs.next());
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar consultar a tabela editora.\n" + ex.getMessage());
            System.exit(1);
        }
    }

    public void ExcluirAutor(String nome) throws Exception {

        String comando;

        try {
            Conexão();
            comando = "DELETE FROM autor WHERE nome = '" + nome + "'";
            stmp.executeUpdate(comando);


            JOptionPane.showMessageDialog(null, nome + " removido com sucesso.");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao remover o registro...");
        }
    }

    public void removerCliente(String nome) throws Exception {
        String comando;
        int cod_cliente = 0;

        try {
            Conexão();
            comando = "SELECT cod_cliente FROM cliente WHERE nome = '" + nome + "'";
            ResultSet rs = stmp.executeQuery(comando);
            if (rs.first()) {
                cod_cliente = rs.getInt("cod_cliente");
            }
            comando = "DELETE FROM cliente WHERE nome = '" + nome + "' AND cod_cliente = " + cod_cliente + "";
            stmp.executeUpdate(comando);
            JOptionPane.showMessageDialog(null, nome + " removido com sucesso!");

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao remover o registro...");
        }

    }

    public void ExcluirEditora(String nome) throws Exception {

        String comando;

        try {
            Conexão();
            comando = "DELETE FROM editora WHERE nome = '" + nome + "'";
            stmp.executeUpdate(comando);

            JOptionPane.showMessageDialog(null, nome + " removido com sucesso.");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Só é possível remover as editoras que não pertencem a nenhum livro!!", "Erro", JOptionPane.ERROR_MESSAGE);
        }
    }

    public void ExcluirLivro(String titulo) throws Exception {

        String comando;

        try {
            Conexão();
            comando = "DELETE FROM livro WHERE titulo = '" + titulo + "'";
            stmp.executeUpdate(comando);


            JOptionPane.showMessageDialog(null, titulo + " removido com sucesso.");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao remover o registro...");
        }

    }

    public int SelecionarQuantidadeLivro(String titulo) throws Exception {

        int quantidade = 0;
        try {
            Conexão();

            String comando = "SELECT quantidade FROM livro WHERE titulo = '" + titulo + "'";
            ResultSet rs = stmp.executeQuery(comando);
            if (rs.first()) {
                do {
                    quantidade += 1;
                } while (rs.next());
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar consultar a tabela autor.\n" + ex.getMessage());
            System.exit(1);
        }
        return quantidade;
    }

    public String SelecionarCPF(String nomeCliente) throws Exception {

        String cpf = "";
        try {
            Conexão();

            String comando = "SELECT cpf FROM cliente WHERE nome = '" + nomeCliente + "'";
            ResultSet rs = stmp.executeQuery(comando);
            if (rs.first()) {
                cpf = rs.getString("cpf");
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao tentar consultar a tabela cliente.\n" + ex.getMessage());
            System.exit(1);
        }
        return cpf;
    }

    public void RealizarAluguel(String nomeCliente, String nomeLivro, String dtLocacao, String dtEntrega) throws Exception {
        String isbn = "";
        int cod_cliente = 0;
        String comando = "";
        ResultSet rs;

        try {
            Conexão();

            comando = "SELECT cod_cliente FROM cliente WHERE nome = '" + nomeCliente + "'";
            rs = stmp.executeQuery(comando);
            if (rs.first()) {
                cod_cliente = rs.getInt("cod_cliente");
            }

            comando = "SELECT isbn FROM livro WHERE titulo = '" + nomeLivro + "'";
            rs = stmp.executeQuery(comando);
            if (rs.first()) {
                isbn = rs.getString("isbn");
            }

            comando = "INSERT INTO aluguel (isbn, cod_cliente, dt_entrega, dt_locacao, multa) VALUES (" + isbn + "," + cod_cliente + ",'" + dtEntrega + "','" + dtLocacao + "'," + "0" + ")";
            stmp.executeUpdate(comando);
            JOptionPane.showMessageDialog(null, "Aluguel realizado com sucesso!");
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, "Não foi possível realizar o aluguel.\n" + ex.getMessage());
        }
    }
}
